"""
创建一个字典｛"k1":"v1","k2":"v2","k3":"v3"｝
1 循环遍历所有KEY
2 循环遍历所有value
3 循环遍历所有 KEY value
4 在字典中添加一个键值对，打印新字典
5 删除k1键值对，输出新字典
"""
dictabc = {"k1":"v1","k2":"v2","k3":"v3","k4":"v4","k5":"v5","k6":"v6"}
print(dictabc)
#1
for k in dictabc:
    print(k)
#2
for k in dictabc:
    print(dictabc[k])
#3
for k in dictabc:
    print(k,dictabc[k])
# 4
dictabc["k44"]="V44"
print(dictabc)

# 5
del dictabc["k1"]
print(dictabc)
print(dictabc.pop("k1",None))
print(dictabc)
"""
6 删除K55键值对，如果不存在，不报错，并返回NONE
7 获取K3对应的值
8 获取K6对应的值，如果建k88不存在，则不报错，让其返回NONE
9 dic2 = {'k1':'v111','a':'b'} 通过一行操作dic2 = {'k1':'v1','k2':'v2','k3':'v3','a':'b'}
"""
print("======================6=======================")

print(dictabc.pop("k55",None))
print(dictabc.get("k3"))
print(dictabc.get("k88",None))

dic1 = {"k2":"v2","k3":"v3"}
dic2 = {"k1":"v1","a":"b"}
dic2.update(dic1)
print(dic2)



"""
10 组合嵌套题，有如下列表，按照妖气实现每一功能
lis = ['k',['qwe',20,{'k1':['tt',3,'1'},'ab']]
1)将列表lis中的'tt'变成大写（两种方式）
2）将列表中的数字3变成字符串'100'（两种方式）
3）将列表中的字符串'1'变成数字101（两种方式）
"""
print("======================10=======================")

lis = [["k",["qwe",20,{"k1":["tt",3,"1"]},89],"ab"]]
# 10.1 方法1:
print(lis[0][1][2].get("k1")[0].upper())
# 10.1 方法2:
print(lis[0][1][2].get("k1")[0].swapcase())

# 10.2 方法1:
lis[0][1][2]["k1"][1] = 100
print(lis)
# 10.2 方法2:
lis[0][1][2].get("k1")[1]=100
print(lis)

# 10.3 方法1:
lis[0][1][2]["k1"][2] = 101
print(lis)
# 10.2 方法2:
lis[0][1][2].get("k1")[2]=101
print(lis)



"""
11 按照要求实现以下功能
 现在一个列表 li = [1,2,3,'a','b',4,'c'],有一个字典（此字典是动态生成的，你并不值得他里面有多少键值对，所以用dic = {} 模拟此字典）；
 现在需要完成这样的操作：如果该字典没有k1 这个建，就创建这个键和值，该值为一个空列表，并将列表li中索引为奇数对应的元素，添加到K1对应的空列表中
 该字典中有K1这个建，且K1对应的value是列表类型，那就将列表li中的索引位位奇数对应的元素，添加到K1这个建对应的值中


print("======================11=======================")
li = [1,2,3,'a','b',4,'c']
liqi = []
for i in li:
    if li.index(i)%2  == 1:
        liqi.append(i)
print(liqi)

print("====zidian=")
dic = {"1":"1111","k2":["v2"]}

print(dic.keys())


if "k1" in dic.keys():
    if type(dic["k1"]) == type([]):
        # print ("2222")
        dic["k1"].extend(liqi)
        print(dic)

else:
    # print("333")
    # print(dic.setdefault("k1",["v1"]))
    print(dic)
    
"""


print("======================11=======================")
li = [1,2,3,'a','b',4,'c']
liqi = []
for i in li:
    if li.index(i)%2  == 1:
        liqi.append(i)
print(liqi)

print("====zidian=")
dic = {"1":"1111","k1":["v2"]}

print(dic.keys())


if "k1" in dic.keys():
    if type(dic["k1"]) == type([]):
        for i in li:
            if li.index(i)%2 ==1:
                dic["k1"].append(i)
        print(dic)

else:
    # print("333")
    # print(dic.setdefault("k1",["v1"]))
    print(dic)